package rim;

import java.io.Serializable;

import datatypes.r2.basic.CS;
import datatypes.r2.basic.II;
import datatypes.r2.foundation.DSET;
import datatypes.r2.foundation.LIST;

/**
 * An abstract super-type for all RIM classes, either directly or through
 * inheritance.
 * 
 * @author Obama
 * 
 */
public class InfrastructureRoot implements Serializable {

	private static final long serialVersionUID = 1L;
	/**
	 * An indicator that the class instance is null, including the flavor of
	 * null that is intended.
	 * 
	 * 一个指标，类的实例是空的，旨在包括空的味道。
	 */
	private CS nullFlavor;
	/**
	 * A vocabulary domain qualifier that allows the vocabulary domain of coded
	 * attributes to be specialized according to the geographical,
	 * organizational, or political environment where the HL7 standard is being
	 * used.
	 * 
	 * 一个词汇域限定符，允许编码属性的词汇域要根据地域，组织，或正在使用HL7标准的政治环境专业。
	 */
	private DSET<CS> realmCode;
	/**
	 * The unique identifier for an HL7 static structure that imposes
	 * constraints on the artifact.
	 * 
	 * 一个HL7静态结构，对工件施加约束的唯一标识符。
	 */
	private II typeId;
	/**
	 * The unique identifier for a template that imposes constraints on the
	 * artifact.
	 * 
	 * 为模板，对工件施加约束的唯一标识符.
	 */
	private LIST<II> emplateId;

	public CS getNullFlavor() {
		return nullFlavor;
	}

	public void setNullFlavor(CS nullFlavor) {
		this.nullFlavor = nullFlavor;
	}

	public DSET<CS> getRealmCode() {
		return realmCode;
	}

	public void setRealmCode(DSET<CS> realmCode) {
		this.realmCode = realmCode;
	}

	public II getTypeId() {
		return typeId;
	}

	public void setTypeId(II typeId) {
		this.typeId = typeId;
	}

	public LIST<II> getEmplateId() {
		return emplateId;
	}

	public void setEmplateId(LIST<II> emplateId) {
		this.emplateId = emplateId;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

}
